<?php

namespace App\Http\Controllers\home;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;

class BaseController extends Controller
{
	
	
   //前台的购物车(用户没有登录的) //用户登录的时候
   public function shop(){
   
	return view('home.base_shop');
   }
   
   //前台用户登完以后的购物车 用户的id 和商品的pid 抓取用户的session的id
   public function order($uid,$gid){
		//dd($gid);
		//dd($uid);
		
		
		//购物车这边需要修改,怎么判读某个用户的购物车
		$result = DB::table('cart')
			->join('details','cart.gid','=','details.id')
			->select('details.img','details.name','details.color','details.size','details.demo','details.price','details.cup','details.thin','details.buckle','cart.gid')
			->where('cart.uid','=',$uid)
			->get(); 
			
		//dd($result);
		return view('home.order',['goods'=>$result]);
		
   }
   
   //前台用户的确认提交信息和收货地址 模拟用户的id和商品的id
   public function cart($uid,$pid){
		return view('home.Base_order');
		
   
   }
   
   //用户收藏的商品的方法 用户的id和商品的id
   public function coll($gid,$uid){
		//连接数据库,用户收藏的商品id和用户id放入数据库中
		$result = DB::table('collection')
			->insert(['gid'=>$gid,'uid'=>$uid]);
		if($result){
			return 1;
		}else{
			return 0;
		}
   }
   
   //用户购物车的删除商品 商品的id
   public function del($gid,$uid){
		//连接数据库,进行分别删除商品和用户的id
		$result = DB::table('details')->where('id','=',$gid)->delete();
		$result1 = DB::table('cart')->where('uid','=',$uid)->delete();
		
		//判断并且返回值
		if($result && $result1){
			return 1;
		}else{
			return 0;
		}
   }
   
   //用户的订单提交 查出用户的收件人的的住址
   public function receive($uid,$id){
		//dd($id);
		
		//关联查询,遍历出用户的的收件信息表
		$result = DB::table('receive')->where('uid','=',$uid)->get();
		//dd($result);
		
		//连接数据库 //需要获取用户的id和商品的id遍历出需要付款的订单
		//注意,此处有bug ,不能根据条件来确定如何查找用户的订单
		 $result1 = DB::table('cart')
			->join('details','details.id','=','cart.gid')
			->select('details.id','cart.num','details.color','details.size','details.cup','details.price','details.img','details.name')
			->where('cart.gid','=',$id)->where('cart.uid','=',$uid)
			->get();
		//dd($result1);
		//返回值
		return view('home.Base_order',['receive'=>$result,'goods'=>$result1]);

		
   }
   
   //用户的订单中的地址删除 此id为收货信息人的唯一id,用户每次更新就会从表中遍历出来id
   public function recedel($id){
		//删除地址表的id
		$result = DB::table('receive')->where('id','=',$id)->delete();
		
		//返回值
		if($result){
			return 1;
		}else{
			return 0;
		}
   }	
   //用户的订单的提交使用的地址 地址的id 和判断的条件
   public function address($id,$uid){
		//更新数据数据库?
		 DB::table('order')->where('uid',$uid)->update(['rid'=>$id]);
		//查询出receive的地址 ,在设为默认地址
		$result1 = DB::table('receive')->select('tel','name','address','postalcode')->where('uid','=',$uid)->where('id','=',$id)
		->get();
		$addr=$result1[0]->address;
		$name = $result1[0]->name;
		$tel = $result1[0]->tel;
		$post = $result1[0]->postalcode;
		$address = $name.'-'.$tel.'-'.$addr.'-'.$post;
		//更新数据
		$result = DB::table('user')->where('uid','=',$uid)->update(['addr'=>$address]);
		//返回值
		if($result){
			return 1;
		}else{
			return 0;
		}
   }
   
   //用户的订单的的商品的变量,确认提交的商品,需要获取商品的id 商品的id 
    public function confirm($id,$uid){
		//连接数据库
		$result = DB::table('cart')
			->join('details','details.id','=','cart.gid')
			->select('details.id','cart.num','details.color','details.size','details.cup','details.price')
			->where('cart.id','=',$id)
			->get();
		dd($result);	
	} 
	//用户的订单的生成需要生成订单编号
	public function orderSubmit($uid,$price){
		
		//设置时间时区
		 date_default_timezone_set('PRC');
		
		$time = time();
		
		
		//连接数据库,插入订单表,用户的订单确认提交
		$result = DB::table('order')->insert(['renum'=>$time,'uid'=>$uid,'sendstate'=>0,'paystate'=>0,'date'=>$time,'amount'=>$price]);
		
		if($result){
			return 1;
		}else{
			return 0;
		} 
		
	}
	
	
	
	
		
	//用户的的支付 页面 
	public function pay(){
		//连接数据库,实现该用户的订单付款,需要遍历出用户需要付款的商品,需要用户的uid (用户的id暂时还是模拟,需要进行抓取)
		$result = DB::table('order')
			->select('renum','amount')
			->where('uid','=',11)->where('paystate','=',0)
			->get();
	//	dd($result);	
		return view('home.order_pay',['orderPay'=>$result]);
	}
	
	//用户的支付完成的支付方式  需要获取顶订单的运单号进行判断
	public function alPay($renum){
		//连接 数据库 ,根据用单运单号码进行更新条件,更新用户已经付款
		$result = DB::table('order')->where('renum','=',$renum)->update(['paystate'=>1]);
		if($result){
			return 1;
		}else{
			return 0;
		}	
	}
  
  
  
  
	
	//前台个人中心的我的收藏
	public function myorder($uid){
		//模拟用户的id
		//连接数据库,根据用户的id查询到用户的的收藏表单
		$result = DB::table('collection')
			->join('details','details.id','=','collection.gid')
			->select('details.name','details.img','details.color','details.size','details.price','details.id')
			->where('collection.uid','=',$uid)
			->get();
		//dd($result);
		//前台用户登录时如果购物车有东西,需要遍里出来
	
		//需要一个用户的id 用户的id为模拟id     ******************此处模拟用户的id10**********************
	 	$goods = DB::table('cart')
			->join('details','details.id','=','cart.gid')
			->select('details.name','details.pnum','details.price')
			->where('cart.uid','=',10)
			->get();
		//dd($goods);	
		//sreturn view('home.myOrder',['goods'=>$goods]);
		
		return view('home.myOrder',['order'=>$result,'goods'=>$goods]);
	}
	//前台用户的个人中心的我的收藏的删除
	public function myorderDel($gid,$uid){
		$result = DB::table('collection')->where('gid','=',$gid)->where('uid','=',$uid)
			->delete();
		if($result){
			return 1;
		}else{
			return 0;
		}
	}
	
	//前台用户的个人中心的的我收藏里面的立即购买 (加入购物车)
	public function addCart($gid,$uid){ //需要获取用户的id和商品的id
		//连接数据库
		
		//前台用户登录时如果购物车有东西,需要遍里出来
	
		//需要一个用户的id 用户的id为模拟id
	/* 	$goods = DB::table('cart')
			->join('details','details.id','=','cart.gid')
			->select('details.name','details.pnum','details.price')
			->where('cart.uid','=',10)
			->get();
		dd($goods); */	
		//sreturn view('home.myOrder',['goods'=>$goods]);
		

		
		$result = DB::table('cart')->insert(['uid'=>$uid,'gid'=>$gid,'num'=>1,'state'=>1]);
		
		if($result){                                                              
			return 1;
		}else{
			return 0;
		}
	}
	
	//前台会员更改地址操作
	public function addr(Request $request){
		//return $request->all()['userid'];
		//return $request->all()['postcode'];
		//return $request->all()['name'];
		//return $request->all()['mobile'];
		$result = $request->only(['userid','postcode','name','mobile','addr']);
		
		$uid = $result['userid'];//用户的uid
		$postCode = $result['postcode'];//收货地址的邮政编码
		$name = $result['name']; //收货人的姓名
		$addr = $result['addr'];//收货人的地址
		$tel = $result['mobile'];//收货人的联系电话
		
		//连接数据库,更新用户的地址
		$result1 = DB::table('receive')->insert(['name'=>$name,'address'=>$addr,'tel'=>$tel,'postalcode'=>$postCode,'uid'=>$uid]);
	 	if($result1){
			return 1;
		}else{
			return 0;
		}
		
		
		
	}
  
  
	//个人中心的我的订单的的订单的方法   代做s
	public function userOrder($uid){
		//需要用户的id进行判断
		//连接数据库,对订单表进行查询 连接商品表
		
		
		$uid = 11;
		$result = DB::table('order')
			->join('cart','cart.uid','=','order.uid')
			->join('details','details.id','=','cart.gid')
			->select('details.name','details.color','details.pnum','order.amount','cart.num','order.renum','order.date','details.img','order.sendstate','order.paystate')
			->where('order.uid','=',$uid)
			->get();
			
		//dd($result);	
		return view('home.userOrder',['order'=>$result]);
		
		//return view('home.userOrder');
	}
  
  
	//前台我的个人中心的我的订单的订单的详情
	public function orderDetail($renum){
		//连接数据库
		$result = DB::table('order')
			->join('user','user.uid','=','order.uid')
			->join('logistics','logistics.oid','=','order.renum')
			->select('order.renum','order.date','order.amount','user.addr','logistics.name','logistics.demo','logistics.freight','logistics.renum','order.sendstate','order.paystate')
			->where('order.renum','=',$renum)
			->get();
		//dd($result);
		return view('home.orderDetails',['detail'=>$result]);
	}
	
	//前台我的个人中心的我的订单的删除
	public function orderDel($num){
		//接收传过来的值作为删除的条件
		//连接数据库
		$result = DB::table('order')->where('renum','=',$num)->delete();
		if($result){
			return 1;
		}else{
			return 0;
		}
	}
	
	//前台个人中心的我的地址管理
	public function updateAddr(){
		//连接用户的信息表 主义此页面需要抓取用户的sessionid
		$uid = 10;
		$result = DB::table('receive')->where('uid','=',$uid)->get();
		//dd($result);
		return view('home.userAddr',['addr'=>$result]);
	}
	
	

	
	
	
	
	
	
  
  
   
}
